package com.hunliji.monitor.web.facade;

import com.hunliji.monitor.web.model.param.AlertChatBindParam;
import com.hunliji.monitor.web.model.param.AlertConfigSaveParam;
import com.hunliji.monitor.web.model.param.AlertUserBindParam;
import com.hunliji.monitor.web.model.param.GetAlertChatBindQueryParam;
import com.hunliji.monitor.web.model.param.GetAlertUserBindQueryParam;
import com.hunliji.monitor.web.model.param.GetAllAlertConfigsParam;
import com.hunliji.monitor.web.model.param.GetUserConfigQueryParam;
import com.hunliji.monitor.web.model.param.QueryChatGroupQueryParam;
import com.hunliji.monitor.web.model.param.SaveUserConfigParam;
import com.hunliji.monitor.web.model.vo.AlertChatBindVO;
import com.hunliji.monitor.web.model.vo.AlertConfigVO;
import com.hunliji.monitor.web.model.vo.AlertUserBindVO;
import com.hunliji.monitor.web.model.vo.ChatGroupVO;
import com.hunliji.monitor.web.model.vo.UserInfoVO;
import java.util.List;

/**
 * File：AlertConfigFacade.java<br> Title: <br> Description: <br>
 *
 * @author lejin Date: 2022/10/10
 */
public interface AlertConfigFacade {

    List<AlertConfigVO> queryAlertConfigs(GetAllAlertConfigsParam getAllAlertConfigsParam);

    List<UserInfoVO> queryUserInfoList(GetUserConfigQueryParam param);

    List<AlertUserBindVO> queryAlertUserBinds(GetAlertUserBindQueryParam getAlertUserBindQueryParam);

    List<AlertChatBindVO> queryAlertChatBinds(GetAlertChatBindQueryParam getAlertChatBindQueryParam);

    List<ChatGroupVO> queryChatGroups(QueryChatGroupQueryParam queryChatGroupQueryParam);

    void saveAlertConfig(AlertConfigSaveParam param);

    void deleteAlertConfig(Long id);

    void alertChatBind(AlertChatBindParam alertChatBindParam);

    void alertUserBind(AlertUserBindParam alertUserBindParam);

    void deleteAlertChatBind(Long id);

    void deleteAlertUserBind(Long id);

    void saveUserConfig(SaveUserConfigParam saveUserConfigParam);
}
